/**
 * 信息
 */
export interface DeviceInfo {
  id?: number;
  device_type?: string;
  brand?: string;
  model?: string;
  height?: string;
  sn?: string;
  status?: string;
  notes?: string;
  memory?: string;
  disk?: string;
  ipmi_ip?: string;
  main_ip?: string;
  os_password?: string;
  vlan?: string;
  device_code?: string;
  ip_address?: string;
  subnet?: string;
  gateway?: string;
  bound_mac?: string;
  client?: number;
  cabinet?: number;
  machine_room?: {
    id?: number;
    name?: string;
  };
}

/**
 * 号码查询对象类型
 */
export interface DeviceQuery extends PageQuery {
  id?: number;
  device_type?: string;
  brand?: string;
  model?: string;
  height?: string;
  sn?: string;
  status?: string;
  notes?: string;
  memory?: string;
  disk?: string;
  ipmi_ip?: string;
  main_ip?: string;
  os_password?: string;
  vlan?: string;
  device_code?: string;
  ip_address?: string;
  subnet?: string;
  gateway?: string;
  bound_mac?: string;
  client?: number;
  cabinet?: number;
  machine_room?: {
    id?: number;
    name?: string;
  };
}

/**
 * 号码分页对象
 */
export type DevicePageVO = {
  /**
   * 项目字段
   */
  id?: number;
  device_type?: string;
  brand?: string;
  model?: string;
  height?: string;
  sn?: string;
  status?: string;
  notes?: string;
  memory?: string;
  disk?: string;
  ipmi_ip?: string;
  main_ip?: string;
  os_password?: string;
  vlan?: string;
  device_code?: string;
  ip_address?: string;
  subnet?: string;
  gateway?: string;
  bound_mac?: string;
  client?: number;
  cabinet?: number;
  machine_room?: {
    id?: number;
    name?: string;
  };
  room?: number | string;
} & PageQuery;

/**
 * 表单类型
 */
export interface DeviceForm {
  id?: number;
  device_type?: string;
  brand?: string;
  model?: string;
  height?: string;
  sn?: string;
  status: number | string;
  client: number | string;
  cabinet: number | string;
  room: number | string;
  notes?: string;
  memory?: string;
  disk?: string;
  ipmi_ip?: string;
  main_ip?: string;
  os_password?: string;
  vlan?: string;
  device_code?: string;
  ip_address?: string;
  subnet?: string;
  gateway?: string;
  bound_mac?: string;
}
